package org.example.controller;

import cn.hutool.core.io.FileUtil;
import lombok.extern.slf4j.Slf4j;
import org.example.common.result.Result;
import org.example.config.LqsConfig;
import org.example.exception.CustomException;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


/**
 * 文件管理
 */
@RestController
@RequestMapping("/files")
@Slf4j
public class FileController {






//    /**
//     *文件下载
//     */
//    @GetMapping("/download/{fileName}")
//    public void download(@PathVariable String fileName, HttpServletResponse response){
//        try {
//            response.addHeader("Content-Disposition","attachment;filename="+ URLEncoder.encode(fileName, StandardCharsets.UTF_8));
//            response.setContentType("application/octet-stream");
//            OutputStream os=response.getOutputStream();
//            String realPath=fileName;//文件完整路径
//            //获取到文件的字节数组
//            byte[] bytes=FileUtil.readBytes(realPath);
//            os.write(bytes);
//            os.flush();
//            os.close();
//        } catch (IOException e) {
//            log.error("文件下载失败：文件名={}，错误={}", fileName, e.getMessage(), e);
//            throw new CustomException("500","文件上传失败");
//        }
//    }
//
//    /**
//     * wang-editor编辑器文件上传接口
//     */
//    @PostMapping("/wang/upload")
//    public Map<String,Object> wangEditorUpload(MultipartFile file){
//        String originalFilename = file.getOriginalFilename();
//        if(!FileUtil.isDirectory(LqsConfig.getProfile())){
//            FileUtil.mkdir(filePath);//老样子如果没有就创立
//        }
//        //提供文件完整储存路径
//        //给文件名唯一标识
//        String fileName=System.currentTimeMillis()+"_"+originalFilename;
//        String realPath=filePath+fileName;
//        try{
//            FileUtil.writeBytes(file.getBytes(),realPath);
//
//        } catch (IOException e) {
//            throw new CustomException("500","文件上传");
//        }
//        String url="http://localhost:8080/files/upload/"+fileName;
//        //wangEditor上传图片成功后，需要返回的参数
//        Map<String,Object> resMap=new HashMap<>();
//        List<Map<String,Object>> list=new ArrayList<>();
//        Map<String,Object> urlMap=new HashMap<>();
//        list.add(urlMap);
//        resMap.put("errno",'0');
//        resMap.put("data",list);
//        return resMap;
//
//    }


}
